Method and system for receiving and processing digital content

ABSTRACT

Embodiments of the present invention are directed to a method of storing digital content in a digital electronic system. In one embodiment, datacast information decoded from a digital media signal is monitored to identify newly-received digital content. The monitoring includes configuring a decoder to receive and decode the datacast information, identifying newly-received digital content from the datacast information, and updating an intelligent filter based upon the newly-received digital content, wherein the intelligent filter records the newly-received digital content. Additionally, the monitoring may include repeating the configuring, identifying, and updating. Thereafter, any of the newly-received digital content that is recorded in the intelligent filter may be stored into a cache memory.

This patent application is a Continuation of co-pending, commonly-ownedpatent application Ser. No. 09/766,183, filed on Jan. 18, 2001, entitled“INTELLIGENT DEVICE HAVING BACKGROUND CACHING OF WEB PAGES FROM ADIGITAL TELEVISION BROADCAST SIGNAL AND METHOD OF SAME”, by Mario UdoBrotz and David S. Wang, which is incorporated herein by reference,which is a Continuation of U.S. Pat. No. 6,374,404, filed on Dec. 16,1998, entitled “INTELLIGENT DEVICE HAVING BACKGROUND CACHING OF WEBPAGES FROM A DIGITAL TELEVISION BROADCAST SIGNAL AND METHOD OF SAME”, byMario Udo Brotz and David S. Wang.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the field of digital television (DTV)systems and digital broadcasting. More specifically, the presentinvention relates to the fields of digital broadcasting and webbrowsing.

2. Related Art

Heretofore, television systems have mainly been used to receive anddisplay broadcast television signals (e.g., audio/visual programs) fortelevision viewers. In Europe, a data transmission format called“Teletext” has been used which enables compatible television sets toreceive a special video signal having encoded therein pages of textbased information that can be displayed to a viewer. The viewer canselect to thereby view certain text-based pages from a keyboard consoleor remote device, which can include a cursor directing device. Thetext-based pages are broadcast from the television broadcaster and somehigh end television sets can store all the text-based pages in a memorydevice. Although helpful for obtaining mainstream information, e.g.,stock prices and reports, sports information, general news, weatherreports, etc., the Teletext system is very limited in the number ofpages it can support, e.g., about 100 pages, is very limited in thatonly text is used and provides no intelligent information filteringmechanisms with respect to the text-based pages. It would be desirableto provide a system that can support enhanced information viewing andnavigation within a television system.

In the United States, the digital satellite system (DSS) televisionbroadcast standard offers an on-screen programming guide that decodestext-based programming information from the television broadcast signal.The DSS on-screen programming information describes the schedule oftelevision programs and acts like an electronic television guide. Alsoincluded are some text-based extended information that describe thesubject matter of a particular television show, program or movie. Muchlike the Teletext system, the DSS on-screen programming information isonly text-based, it uses a television set, is limited in the number ofpages it can support and provides no intelligent information filteringmechanisms. It would be desirable to provide a system that can supportenhanced information viewing and navigation within a television system.

Recently, digital television broadcast standards and digital televisionsets have been introduced and used. The use of cable systems and digitalaudio/visual systems into the home has introduced the set-top-boxdevice. The set-top-box device acts as an intelligent controller foraccessing and decoding cable programs from digital cable, e.g.,terrestrial cable or from a digital satellite system. In the recentlyproposed home audio/visual network systems, e.g., the HAVi and AV/Cstandards, the set-top-box also acts as an intelligent controller tocontrol the activities and communications of other electronic devicesthat can be coupled to the network, like a digital television, a videocassette recorder (VCR), a compact disk (CD) unit, a tuner, a personalcomputer system, etc. These electronic platforms allow an enhancedability to access and display information in digital form that was notbefore possible in the realm of television media. It would be desirableto provide a system that can take advantage of this enhanced ability toaccess and display digital information within a television system.

The internet protocol of the world wide web allows multiple computersystems to communicate and display information in a way not beforepossible. The internet protocol allows hypertext documents, e.g.,documents in a hypertext markup language (HTML) format, to becommunicated from a server to a client computer system for viewing andinteraction therewith. In typical usage, a user interacts with a webbrowser of a host computer system that connects to the internet via amodem or via some other form of direct high speed digital connection.Once connected to the internet, the user can access information in theform of hypertext documents (web pages) that are stored on servercomputer systems located on the world wide web, which exists literallyall over the globe. It would be desirable to provide a system that cantake advantage of the enhanced ability to access and display digitalinformation within a television system for displaying and accessing HTMLdocuments.

SUMMARY OF THE INVENTION

Accordingly, the present invention takes advantage of the enhancedability of a digital television system to access and display informationto enhance a television viewer's entertainment and information gatheringexperience. The present invention provides a digital television (DTV)system capable of efficiently accessing and displaying viewer-selectedweb pages and other HTML documents to a viewer. The web pages and otherHTML documents are sent over a digital broadcast to the DTV system ofthe present invention. These and other advantages of the presentinvention not specifically mentioned above will become clear withindiscussions of the present invention presented herein.

A client-side intelligent device having background caching of web pageswithin a digital television (DTV) system and method of same aredescribed herein. The present invention includes a digital televisionsystem having an intelligent device for interfacing with a user/viewerand controlling the display of information on a display screen. Theintelligent device, in one embodiment, is a set-top-box, but could beany intelligent electronic device or computer system. The set-top-box isconfigured to receive a digital TV broadcast signal (e.g., land basedcable or digital satellite system) that may include audio/visualinformation as well as data signals in a datacast format. The datacastformat includes web pages, e.g., in the HTML (hypertext markup language)format. The present invention allows a viewer to have his/her DTVset-top-box or HDTV (high definition TV) monitor and locally cachehypertext documents (and multi-media components), that are transmittedby digital broadcasters, to thereby enhance the internet connectivityperformance. A forward caching process is used.

The DTV broadcasters support multiple channels of information on whichdigital content providers can supply a domain of web pages that aretransmitted in round robin fashion on a periodic basis. The presentinvention is able to display viewer-selected hypertext documents on theDTV system from this domain. An intelligent filter is used to cachehypertext documents. The intelligent filter modifies itself based onuser behavior, e.g., user history, and user preferences in terms of theweb pages that a viewer routinely visits. The intelligent filter is usedto identify certain web pages (or other HTML-based documents andmulti-media components) of the data that are being broadcast and theseidentified web pages are stored in a cache memory for later use by theviewer. Hypertext documents are forward cached in that they are storedin the cache memory before they are displayed to the user. A secondtuner can be used to poll multiple channels when updating the cachedcontents. Cached web pages avoid broadcast latencies (due to periodicupdating) and thereby are displayed faster to the viewer. The use ofcached web pages therefore enhances internet connectivity performance.

More specifically, embodiments of the present invention include a methodof displaying information in a digital television system, the methodcomprising the steps of: a) maintaining an intelligent filter thatrecords hypertext documents based on the frequency that hypertextdocuments were previously accessed by a viewer of the digital televisionsystem; b) monitoring datacast information decoded from a receiveddigital television broadcast signal to identify newly received hypertextdocuments, the step b) comprising the steps of: b1) sequentiallyscanning a first tuner of the digital television system over channels ofthe digital television broadcast signal for a predetermined time periodfor each scanned channel; and b2) at each scanned channel, identifyingnewly received hypertext documents. The method further comprising thesteps of: c) storing into a cache memory any of the newly receivedhypertext documents that are recorded in the intelligent filter; d)receiving, from a viewer, an identifier of a selected hypertextdocument; and e) provided the selected hypertext document is locatedwithin the cache memory, accessing the selected hypertext document fromthe cache memory and displaying the selected hypertext document on adisplay screen of the digital television system.

Embodiments include the above and further comprising the step of f)using a second tuner of the digital television system to displaycontents of a selected channel to the viewer on the display screenwherein the datacast information comprises a domain of hypertextdocuments that are periodically broadcast. Embodiments include the aboveand wherein the step a) comprises the steps of: a1) receiving andrecording identifiers of hypertext documents accessed by the viewer; a2)recording a count associated with each identifier received by the stepa1), the count indicating the number of times each recorded hypertextdocument was accessed by the viewer; and a3) ranking the identifiers ofthe intelligent filter based on their associated counts. Embodimentsfurther include a digital television system implemented in accordancewith the above.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a digital television system in accordance with oneembodiment of the present invention.

FIG. 1B illustrates a digital television system in accordance with asecond embodiment of the present invention that includes a digital modemconnection to the world wide web.

FIG. 2 is a logical block diagram of an intelligent client device inaccordance with one embodiment of the present invention.

FIG. 3 is a hardware and software data flow diagram of the logicalcomponents of the intelligent client device of the present invention.

FIG. 4 illustrates the background and foreground processes implementedwithin the intelligent client device of the present invention.

FIG. 5 is a flow diagram illustrating steps of the foreground process ofthe intelligent client device of the present invention for accessing anddisplaying selected web pages and other hypertext documents.

FIG. 6 is a flow diagram illustrating steps of the foreground process ofthe intelligent client device of the present invention for updating theintelligent filter based on viewer preferences and behavior, e.g.,viewer history.

FIG. 7A illustrates steps in the background process of one embodiment ofthe present invention for storing web pages and other hypertextdocuments in the cache memory of the intelligent client device.

FIG. 7B illustrates steps in the background process of a two-tunerembodiment of the present invention for storing web pages and otherhypertext documents in the cache memory of the intelligent clientdevice.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of the present invention, anintelligent device within a digital television system for performingbackground caching of web pages, numerous specific details are set forthin order to provide a thorough understanding of the present invention.However, it will be recognized by one skilled in the art that thepresent invention may be practiced without these specific details orwith equivalents thereof. In other instances, well known methods,procedures, components, and circuits have not been described in detailas not to unnecessarily obscure aspects of the present invention.

Notation and Nomenclature

Some portions of the detailed descriptions which follow are presented interms of procedures, logic blocks, processing, and other symbolicrepresentations of operations on data bits within an intelligentelectronic media device. These descriptions and representations are themeans used by those skilled in the data processing arts to mosteffectively convey the substance of their work to others skilled in theart. A procedure, logic block, process, etc., is herein, and generally,conceived to be a self-consistent sequence of steps or instructionsleading to a desired result. The steps are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these physical manipulations take the form of electrical or magneticsignals capable of being stored, transferred, combined, compared, andotherwise manipulated in a consumer electronic media device. For reasonsof convenience, and with reference to common usage, these signals arereferred to as bits, values, elements, symbols, characters, terms,numbers, or the like with reference to the present invention.

It should be borne in mind, however, that all of these terms are to beinterpreted as referencing physical manipulations and quantities and aremerely convenient labels and are to be interpreted further in view ofterms commonly used in the art. Unless specifically stated otherwise asapparent from the following discussions, it is understood thatthroughout discussions of the present invention, discussions utilizingterms such as “processing” or “computing” or “generating” or“calculating” or “determining” or “displaying” or the like, refer to theaction and processes of a consumer electronic media device, or similarelectronic computing device (e.g., dedicated or embedded computersystem), that manipulates and transforms data. The data is representedas physical (electronic) quantities within the consumer electronic mediadevice's registers and memories and is transformed into other datasimilarly represented as physical quantities within the consumerelectronic media device memories or registers or other such informationstorage, transmission, or display screens.

Digital TV System

FIG. 1A illustrates one embodiment of the client-side digital television(“DTV”) system 170 a of the present invention. DTV system 170 a iscoupled to receive a multi-channel digital television signal 150 from adigital TV broadcaster 190. Digital system 200 a includes thebroadcaster 190 and the client-side DTV system 170 a. Within system 200a, the digital TV broadcast signal 150 can be delivered to DTV system170 a using a terrestrial line (e.g., cable TV) or can be delivered viaa wireless transmission mechanism (e.g., digital satellite system,etc.). In accordance with the present invention, a number of differentand well known digital broadcast TV signal formats can be used todeliver the digital TV broadcast signal 150 to DTV system 170 a. In oneformat, each channel of signal 150 has a bandwidth of approximately 19.2Megabits per second (2.5 Megabytes per second) in which audio/visual anddatacast information can reside. In one implementation, the AmericanTelevision Standard Committee (ATSC) digital TV format is used. Severalwell known ATSC signal formats support datacast informationtransmission. In other embodiments, the Digital TV Applications SoftwareEnvironment (DASE) signal format can be used.

The client-side DTV system 170 a, of one embodiment, includes anintelligent client device (“intelligent device”) 112 which is coupled toreceive information from a user/viewer input device 106. The intelligentdevice 112, in one implementation, is a set-top-box and is also coupled(via bus 124) to a display device (e.g., a television) 105 forgenerating images and rendering sound. Optionally, separate speakers(not shown) can be used to generate the sound. The user/viewer inputdevice 106 can be a number of different well known user input mechanismsincluding, for instance, a remote control, a physical keyboard, a mouseor other cursor directing device, a joystick, etc., and/or anycombination of the above. The components of the intelligent device 112are described in more detail with respect to FIG. 2.

DTV system 170 a of FIG. 1A allows a viewer to see (e.g., browse)hypertext documents that are broadcast within encoded datacastinformation of the digital TV broadcast signal 150. The encoded datacastinformation can reside within a channel that also includes audio/visualprogramming or can reside within a channel dedicated to the transmissionof digital datacast information. DTV system 170 a of the presentinvention implements a mechanism for caching frequently visitedhypertext documents (e.g., web pages) in a cache memory to enhance theinternet connectivity experience of the viewer. Specifically, hypertextdocuments are cached in advance of being seen by the viewer. However,these documents are cached based on prior viewing behavior of theviewer. Digital TV broadcasting allows networks to broadcast datacastinformation (e.g., hypertext documents, HTML-based media and documents,web pages, etc.) over the digital TV signal. In accordance with thepresent invention, this digital information includes HTML-baseddocuments related to (or not necessarily related to) the programming ofthe broadcaster. The present invention provides a viewer with a browserin the intelligent device 112 (e.g., set-top-box) or HDTV monitor. Thesystem of the present invention is capable of storing (in cache memory)the latest versions of the hypertext documents visited by the viewerthereby allowing the viewer to access this information in a timelyfashion.

The datacast information within the digital TV broadcast signal 150 isbroadcast periodically. Within the system 170 a of FIG. 1A, the digitalTV broadcast signal 150 is therefore monitored by the intelligent device112 for these hypertext documents. Based on the contents of anintelligent filter, those hypertext documents matching the filter arestored in a cache memory within the intelligent device 112. If a viewershould select a stored hypertext document (e.g., a cache hit) to view,then that selected hypertext document is obtained from the cache memoryand displayed on display device 105. If the selected hypertext documentis not stored in the cache memory (e.g., a cache miss occurs), then theintelligent device 112 access the selected hypertext document bymonitoring the digital TV broadcast signal 150 until the hypertextdocument is next seen within the periodic broadcast.

FIG. 1B illustrates an alternative embodiment of the present inventionthat includes a digital modem 108 as a second source for receivinghypertext documents. The digital mode 108 is capable of receivinghypertext documents from the internet. Client-side DTV system 170 bincludes the intelligent device 112 coupled to the digital modem 108 andto the user/viewer input device 106. The display device 105 is alsocoupled to the intelligent device 112. The digital modem 108 is coupledto the world wide web 180 that contains the internet protocol. Like thesystem 170 a, system 170 b of FIG. 1A is coupled to receive a digital TVbroadcast signal 150 from a digital TV broadcaster 190. The broadcaster190, the world wide web 180 and the client-side DTV system 170 btogether constitute system 200 b.

System 170 b operates in an analogous fashion as system 170 a with oneexception. Upon a cache miss, system 170 b can use the digital modem 108to obtain the selected web page or hypertext document rather thanwaiting for its next occurrence over the periodic broadcast of datacastinformation of the digital TV broadcast signal 150.

Broadcast of Datacast Information Within the Digital TV Broadcast Signal

With respect to system 170 a and system 170 b, the network broadcasters190 broadcast a domain of hypertext documents in a periodic fashion, asdiscussed above. The number of documents within this domain is limitedonly by available channel bandwidth and expected latency. The documentbroadcast order is arbitrary, and typically established by the contentprovider. For instance, a 19.2 Megabit/second channel totally dedicatedto the transmission of datacast information could broadcast about 200hypertext documents per second. If a particular content provider wantedto establish a maximum latency of 20 seconds for any hypertext document,then about 200×20 or 4,000 hypertext documents would be the maximumnumber of documents within the domain for that channel. The broadcastorder of the hypertext documents would be arbitrary and could be suchthat frequently visited documents get broadcast more often (e.g., withmore frequency) than other lesser requested documents. In this case,different hypertext documents would have different maximum latencies.

However, many digital TV broadcast channels can share bandwidth betweentheir audio/video information/programming and the datacast information.For instance, if a 19.2 Megabit/second channel contains audio, video anddatacast information, it is likely that the datacast portion of thechannel would contain far fewer than 200 documents/second because thebulk of the available channel width would be consumed by theaudio/visual programming. This constraint would limit the documentdomain size for such a channel.

Hardware and Software Components of Intelligent Device (Computer System)

FIG. 2 illustrates the components of the intelligent device 112 in moredetail. Any consumer electronic device can be provided with theappropriate computer system hardware to act as the intelligent deviceand thereby provide a platform for the processes of the presentinvention. For instance, a set-top-box device can be used. Anotherexample of an intelligent device 112 is a digital television or computersystem having the required hardware resources as described below. It isappreciated that certain aspects of the present invention, describedbelow, are discussed in terms of steps executed on the intelligentdevice 112 (e.g., processes 400, 450, 480, 500 a and 500 b). Although avariety of different computer systems can be used as the intelligentdevice 112, an exemplary system is shown in FIG. 2.

Intelligent device 112 of FIG. 2 includes an internal address/data bus100 for communicating digital information, one or more centralprocessors 101 coupled with the bus 100 for processing information andinstructions, a volatile memory 102 (e.g., random access memory RAM)coupled with the bus 100 for storing information and instructions forthe central processor 101 and a non-volatile memory 103 (e.g., read onlymemory ROM) coupled with the bus 100 for storing static information andinstructions for the processor 101. A cache memory 102 a resides withinmemory 102. As discussed more fully below, hypertext documents matchingan intelligent filter are stored into the cache memory 102 a for lateruse by the viewer. Intelligent device 112 can also optionally include adata storage device (not shown) such as a magnetic or optical disk anddisk drive coupled with the bus 100 for storing information andinstructions. The intelligent filter discussed above is a memoryresident data structure and therefore may reside within memory 102.

Intelligent device 112 also includes a video decoder 120 coupled to bus100 and coupled to supply a digital video signal 124 (e.g., to digitaldisplay device 105). A number of well known video decoders can be usedfor video decoder 120. Intelligent device 112 also includes an audiodecoder 122 (e.g., a sound card) that is coupled to bus 100 andgenerates a digital audio signal over bus 126 (which can be coupled toexternal speakers). The video decoder 120 processes video informationfrom bus 100 and the audio decoder 122 processes digital audioinformation from bus 100. Any of a number of well known audio decoderscan be used for audio decoder 122 of the present invention. In oneembodiment of the present invention, a two dimensional rendering engine118 is also coupled to the bus 100 and coupled to the video decoder. Thetwo dimensional rendering engine 118 processes graphics information andsupplies the output as an overlay to the video decoder. In this way,graphics information can efficiently be overlaid with the other videoinformation (including hypertext documents).

Digital TV broadcast information is received and processed by theintelligent device 112 from tuner 130 which is coupled to receive thedigital TV broadcast signal 150. Optionally, a second tuner 132 can alsobe used to receive digital TV broadcast information. In one embodimentof the present invention, the second tuner 132 is not used. The firsttuner 130 is coupled to a modulator 140 via bus 160 and the modulator140 is coupled to bus 100. The modulator 140 performs analog to digitalconversion of the signals of bus 160 and also acts as a bus interfacefor bus 100. The modulator 140 and the tuner 130 are well known. In analternative embodiment, the second tuner 132 is coupled to a modulator142 via bus 162 and the modulator 142 is coupled to bus 100. Themodulator 142 performs analog to digital conversion of the signals ofbus 162 and also acts as a bus interface for bus 100.

As discussed further below, the first tuner 130 is used for processingdigital information used in foreground processing tasks. For instance,the first tuner 130 is controlled by the viewer and its contents aredisplayed in real-time on the television screen 105 for the viewer toenjoy. However, the second tuner 132 is used to perform backgroundprocessing to maintain the contents of the cache 102 a. In theembodiment that does not utilize the second tuner 132, the first tuner130 is used to perform both the foreground and background tasks.

Under processor control from processor 101, digital audio/videoinformation received from tuner 130 are directed over bus 100 to videodecoder 120 and to audio decoder 122 for rendering on the display 105and speakers via bus 124 and bus 126. It is appreciated that bus 124 andbus 126 can be merged into one single larger digital bus carrying bothvideo and audio data signals. Under processor control from processor101, digital audio/video information received from optional tuner 132are directed over bus 100 and are initially processed by an intelligentprocessor as shown in FIG. 3. Hypertext documents from tuner 132 can bestored in cache memory 102 a and if selected, are then transmitted onbus 100 to video decoder 120 and to audio decoder 122, as discussedabove.

FIG. 3 illustrates a data flow diagram of the intelligent controller 112including hardware and software components. Tuner 130 and tuner 132receive digital TV information from digital TV broadcast signal 150.Modulator 140 receives analog information from tuner 130 and generates adigital signal which is received by a demultiplexer 250. Modulator 142receives analog information from tuner 132 and generates a digitalsignal which is received by a demultiplexer 250. Demultiplexer 250 canbe hardware or software implemented and sorts out the audio, video anddatacast portions of the digital signals received from the modulators140 and 142. Digital video information is forwarded from demultiplexer250 over data path 220 a to a video processor 260. Video processor 260can be software implemented, or alternatively, can be implemented inhardware, or can be a combination of both. Video processor 260 includesa video decoder 120 capable of decoding encoded video signals in wellknown formats such as MPEG (Motion Picture Expert Group) and MPEG II.

As discussed above, video processor 260 interfaces with a twodimensional rendering engine 290 which can be a hardware unit (as shownin FIG. 2) or can be implemented as a software process as shown in FIG.3. Rendering engine 290 interfaces with both the video processor 260 andwith a data processor 270 to overlay graphics information. Renderingengine 290 also directly interfaces with the cache memory 102 a. Thedigital video signals are output over bus 124. Demultiplexer 250 alsoforwards digital audio signals over data path 220 c to the audioprocessor 280 which generates audio signals over bus 126.

Demultiplexer 250 of FIG. 3 also forwards digital datacast informationover data path 220 b to the data processor 270 which processes hypertextdocuments. Data processor 270 contains a browser. Any of a number ofwell known browsers, e.g., as commercially available from Netscape orMicrosoft, can be used by data processor 270. Hypertext documents arerendered by data processor 270 and shipped to the rendering engine 290for display over bus 124. An intelligent filter 300 is coupled to thedata processor 270. Data processor 270 also directly interfaces with thecache memory 102 a. In accordance with the present invention,intelligent filter 300 is a software unit and receives an identifier ofeach hypertext document received by data processor 270. In oneembodiment, the identifier is the web address of a web page. Theintelligent filter 300 has recorded therein a listing of identifierscorresponding to frequently visited web pages. This information iscompiled based on past viewer behavior.

The intelligent filter 300 stores into cache memory 102 a each hypertextdocument that is received by data processor 270 and that also matches anidentifier stored in the intelligent filter 300. Hypertext documents notwithin the intelligent filter 300 are not stored in the cache memory 102a. The size of the cache memory 102 a depends on the number of hypertextdocuments that are desired for storage and typically becomes animplementation choice depending on available memory resources. A 10Megabyte cache memory 102 a can store about 1,000 web pages.

Caching Processes of the Present Invention

FIG. 4 illustrates the major processes of the present invention toimplement a digital TV web caching system. Process 400 is the foregroundprocess and responds to a user/viewer selecting a particular web page orother hypertext document for display. At step 450, the intelligentdevice 112 accesses and displays a selected web page. At step 480, theintelligent filter 300 is then updated based on the user/viewerselections. In this way, the intelligent filter 300 is updated based onthe behavior and viewing patterns/history of the user. Process 400 thenrepeats.

In the background, process 500 updates the cache memory 102 a based oninformation received over the digital TV broadcast signal and based onthe contents of the intelligent filter 300. Process 500 is cyclic. It isappreciated that the intelligent device 112 caches web pages based onthe intelligent filter 300 and that this caching activity occurs in thebackground. It is appreciated that the present invention performs“forward” caching in that web pages and other hypertext documents arecached before they are viewed using the browser. It is furtherappreciated that both process 400 and process 500 are implemented asinstructions stored within computer readable memory units of intelligentdevice 112 and executed on processor 101.

FIG. 5 is a flow diagram illustrating the steps within foregroundprocess 450. At step 452, the intelligent device 112 receives auser/viewer originated request for a particular desired hypertextdocument (e.g., a particular web page). This request typically isreceived in the form of a web page address typed in (or otherwiseselected) by a viewer using the user input device 106. At step 454, thepresent invention checks the contents of the cache memory 102 a todetermine if this hypertext document is currently stored in the cachememory 102 a. At step 456, a check is made if a cache hit occurs (e.g.,the selected hypertext document is stored in the cache memory 102 b) orif a cache miss occurs (e.g., the selected hypertext document is notstored in the cache memory 102 b).

If a cache hit occurs at step 456, then process 450 flows to step 464where the intelligent device 112 obtains the selected hypertext documentfrom cache memory 102 a. At step 466, the intelligent device 112 thendisplays the selected hypertext document on the digital display screen105. Upon a cache hit, no latency is perceived by the user from step 452to step 466. Process 450 then returns.

If a cache miss occurs at step 456, then process 450 flows to step 458.At step 458, if the DTV system of the present invention contains adigital modem, it can optionally be used to obtain the selectedhypertext document from the internet. Within the preferred embodiment,the DTV system of the present invention, at step 458, uses the digitalTV broadcast signal 150 to obtain the selected hypertext document. Atthis step, the DTV system monitors the digital TV broadcast signal 150until its periodic broadcast transmits the selected hypertext document.At step 458, a latency can be detected by the viewer between the requestand the display of the selected hypertext document. The duration of thelatency depends on the maximum latency for hypertext documents asdetermined by the content provider of the currently tuned channel. Thelatency is also determined by the timing of step 458 within the periodicbroadcast of hypertext documents. At step 460 and step 462, the selectedhypertext document is located and it is stored within a memory unit ofthe intelligent device 112. At step 466, the selected hypertext documentis then displayed on the digital screen. Process 450 then returns.

The provision of the cache memory 102 a therefore increases the user'sinternet connectivity experience, in accordance with the presentinvention, by eliminating any perceived latencies for selected web pagesthat are associated with a cache hit.

FIG. 6 is a flow diagram illustrating the steps within foregroundprocess 480 for updating the intelligent filter 300 based on user/viewerbehavior. At step 482, if the currently selected hypertext document isnot recorded in the intelligent filter 300, then it is recorded with anassociated initial count (e.g., 1). At step 482, if the currentlyselected hypertext document is already recorded in the intelligentfilter 300, then its associated count is incremented by one. In eithercase, an identifier of the selected hypertext document is recorded inthe intelligent filter 300. At step 482, if the intelligent filter 300becomes filled, as new hypertext documents are recorded, those recordedhypertext documents with the lowest count are dropped off. Optionally,at step 482, a timestamp is recorded with each recorded hypertextdocument indicating the time and date that the user last visited the webpage.

At step 484, the present invention then ranks all of its recordedentries by count number with those hypertext documents with the largestcount placed higher in the recorded list. At step 486, the presentinvention then optionally drops off of the recorded list any hypertextdocument that has not been visited by the viewer for a predeterminedtime period. This optional function is facilitated by the timestampsdiscussed above.

FIG. 7A and FIG. 7B illustrate two different versions of backgroundprocess 500 for filling the cache memory 102 a. Process 500 a andprocess 500 b are “background” processes in that they operate constantlywhether or not the user/viewer is interacting with the DTV system.Process 500 a of FIG. 7A corresponds to DTV system 170 a (FIG. 1A) thathas one tuner. Process 500 b of FIG. 7B is used with DTV system 170 b(FIG. 1B) that contains two tuners.

Process 500 a of FIG. 7A commences at step 502 where the first tuner 130receives a web page or other hypertext document from the currently tunedchannel of the digital TV broadcast signal 150. The viewer can alter thecurrently tuned channel at any time while process 500 a is operating.During TV watching periods, the information received by tuner 130 isdisplayed in real-time on the display screen 105. At step 504, theintelligent device 112 compares the encoded identifier of the receivedhypertext document (e.g., the web page address) against the identifiersthat are recorded in the intelligent filter 300. At step 506, if a matchoccurs then step 508 is entered, otherwise, step 502 is entered and thisprocess continues for the next received hypertext document of thecurrently tuned channel.

At step 508, the intelligent device 112 receives and stores the currenthypertext document into the cache memory 102 a. If a previous older copyof the hypertext document is stored in the cache memory 102 a, then atstep 508, the present invention replaces the old copy with the new copy.If a previous same copy of the hypertext document is stored in the cachememory 102 a, then at step 508, the present invention ignores thecurrent hypertext document. It is appreciated that each hypertextdocument contains an identifier that can be used to determine if onehypertext document is the same or an older or a newer version of anotherhypertext document. After step 508 completes, step 502 is entered againto process the next received hypertext document. As described above,process 500 a is limited in that only the currently tuned channel (e.g.,that is also used by the viewer) is used to update cache memory 102 a.

FIG. 7B illustrates the steps of process 500 b. Process 500 b utilizesthe second tuner 132 to update the cache memory 102 a by continuouslypolling the available channels in a round robin fashion to update thecache memory 102 a. In this way, the particular program selected by theviewer does not limit the scope of information that can be used toupdate the cache memory 102 a. In other words, process 500 b allows thecache memory 102 a to be updated based on information that is beingbroadcast over one channel (e.g., using tuner 132) while the viewer iscurrently watching a program, or viewing other media information, onanother channel (e.g., using tuner 130).

At step 510 of FIG. 7B, the present invention receives datacastinformation over the channel that is currently tuned by the second tuner132. The user/viewer is not allowed to alter the channel being tuned bytuner 132. Only the processor 101 of the intelligent device 112 canalter tuner 132 by program control. At step 510, a hypertext document isreceived by the intelligent device 112 from the second tuner 132. Atstep 512, the intelligent device 112 compares the encoded identifier ofthe received hypertext document (e.g., the web page address) against theidentifiers that are recorded in the intelligent filter 300. At step514, if a match occurs then step 516 is entered, otherwise, step 518 isentered.

At step 516, the intelligent device 112 receives and stores the currenthypertext document into the cache memory 102 a. If a previous older copyof the hypertext document is stored in the cache memory 102 a, then atstep 516, the present invention replaces the old copy with the new copy.If a previous same copy of the hypertext document is stored in the cachememory 102 a, then at step 516, the present invention ignores thecurrent hypertext document. It is appreciated that each hypertextdocument contains an identifier that can be used to determine if onehypertext document is the same or an older or a newer version of anotherhypertext document. After step 516 completes, step 518 is entered.

At step 518, the intelligent device 112 checks if a predetermined timeperiod has expired. Each available channel is scanned according toprocess 500 b only for a predetermined time period. Once this timeperiod expires, a new channel is used. At step 518, the presentinvention determines if the time period for the currently tuned channelhas expired. If not, then step 510 is entered and the next hypertextdocument is received from the same tuned channel. In one implementation,the time period is 20 seconds for each channel but could be anyreasonable period or could be programmable or could vary from channel tochannel.

At step 518, if the time period for the currently tuned channel expires,then at step 520 the second tuner 132 is tuned to the next channel andthe time period is reset. Step 510 is then entered to obtain the nexthypertext document from the newly tuned channel. Process 500 b repeatsin this fashion. It is appreciated that the user can tune tuner 130 toany channel at any time during process 500 b and this action will notalter the results of process 500 b. Therefore, process 500 b is notlimited to the particular channel being watched by the user (e.g., viatuner 130).

The preferred embodiment of the present invention, an intelligent devicewithin a digital television system for performing background caching ofweb pages, is thus described. While the present invention has beendescribed in particular embodiments, it should be appreciated that thepresent invention should not be construed as limited by suchembodiments, but rather construed according to the below claims.

1-23. (canceled)
 24. In a digital electronic system, a method of storingdigital content comprising: monitoring datacast information decoded froma digital media signal to identify newly-received digital content,wherein said monitoring comprises: configuring a decoder to receive anddecode said datacast information; identifying newly-received digitalcontent from said datacast information; updating an intelligent filterbased upon said newly-received digital content, wherein said intelligentfilter records said newly-received digital content; and repeating saidconfiguring, identifying, and updating; and storing into a cache memoryany of said newly-received digital content that is recorded in saidintelligent filter.
 25. The method of claim 24, wherein said datacastinformation comprises a unique identifier corresponding to particulardigital content.
 26. The method of claim 25, wherein said updatingfurther comprises: receiving and recording said unique identifiers ofdigital content accessed by said digital electronic system; recording acount associated with each identifier of digital content received,wherein said count is indicative of the number of times each particulardigital content has been accessed by said digital electronic system; andranking said unique identifiers of said intelligent filter based ontheir respective counts.
 27. The method of claim 26, wherein saidupdating further comprises removing from said intelligent filter anyrecorded unique identifier of digital content that has not been accessedby said digital electronic system for a predetermined period of time.28. In a digital electronic system, a method of accessing digitalcontent comprising: monitoring datacast information decoded from adigital media signal to identify newly-received digital content, whereinsaid monitoring comprises: configuring a decoder to receive and decodesaid datacast information; identifying newly-received digital contentfrom said datacast information; updating an intelligent filter basedupon said newly-received digital content, wherein said intelligentfilter records said newly-received digital content; and repeating saidconfiguring, identifying, and updating; storing into a cache memory anyof said newly-received digital content that is recorded in saidintelligent filter; receiving a request to access a particular digitalcontent; and provided said particular digital content is located withinsaid cache memory, accessing said particular digital content from saidcache memory and supplying said particular digital content for displayon a display screen.
 29. The method of claim 28, wherein said request isa user input.
 30. The method of claim 28, wherein said datacastinformation comprises a unique identifier corresponding to particulardigital content.
 31. The method of claim 30, wherein said updatingfurther comprises: receiving and recording said unique identifiers ofdigital content accessed by said digital electronic system; recording acount associated with each identifier of digital content received,wherein said count is indicative of the number of times each particulardigital content has been accessed by said digital electronic system; andranking said unique identifiers of said intelligent filter based ontheir respective counts.
 32. The method of claim 31, wherein saidupdating further comprises removing from said intelligent filter anyrecorded unique identifier of digital content that has not been accessedby said digital electronic system for a predetermined period of time.33. The method of claim 28 further comprising: provided said particulardigital content is not located within said memory, causing saidparticular digital content to be transferred over a digital interfacecoupled to the world wide web.
 34. The method of claim 33, wherein saiddigital interface is compliant with an internet protocol.
 35. A digitalelectronic system comprising: a decoder coupled to a bus to receive adigital media signal; an intelligent controller coupled to said bus,wherein said intelligent controller comprises a processor coupled tosaid bus and a memory coupled to said bus, wherein said memory comprisesinstructions that when executed on said processor implement a method ofdisplaying digital content comprising: monitoring datacast informationdecoded from said digital media signal to identify newly-receiveddigital content, wherein said monitoring comprises: configuring adecoder to receive and decode said datacast information; identifyingnewly-received digital content from said datacast information; updatingsaid intelligent filter based upon said newly-received digital content,wherein said intelligent filter records said newly-received digitalcontent; and repeating said configuring, identifying, and updating;storing into said memory any of said newly-received digital content thatis recorded in said intelligent filter; receiving a request to access aparticular digital content; and provided said particular digital contentis located within said memory, accessing said particular digital contentfrom said memory and supplying said particular digital content fordisplay on a display screen.
 36. The system of claim 35, wherein saidrequest is a user input.
 37. The system of claim 35, wherein saiddatacast information comprises a unique identifier corresponding toparticular digital content.
 38. The system of claim 37, wherein saidupdating further comprises: receiving and recording said uniqueidentifiers of digital content accessed by said digital electronicsystem; recording a count associated with each identifier of digitalcontent received, wherein said count is indicative of the number oftimes each particular digital content has been accessed by said digitalelectronic system; and ranking said unique identifiers of saidintelligent filter based on their respective counts.
 39. The system ofclaim 38, wherein said updating further comprises removing from saidintelligent filter any recorded unique identifier of digital contentthat has not been accessed by said digital electronic system for apredetermined time period.
 40. The system of claim 35, wherein saidmethod further comprises: provided said particular digital content isnot located within said memory, causing said particular digital contentto be transferred over a digital interface coupled to the world wideweb.
 41. The system of claim 40, wherein said digital interface iscompliant with an internet protocol.